草庐IT

java - 实现类或导入类java

全部标签

javascript - 开 Jest 模拟默认导出 - 需要与导入

我在这里看到了一些关于用jest模拟默认导出的问题,但我认为还没有人问过这个问题:当模拟正在测试的模块的依赖项的默认导出时,如果模块使用ES6导入语句导入依赖项,测试套件将无法运行,声明TypeError:(0,_dependency.default)不是函数但是,如果模块改用require().default调用,它会成功。在我的理解中,importmodulefromlocation直接转换为constmodule=require(location).default,所以我很困惑为什么会这样。我宁愿保持我的代码风格一致,也不使用原始模块中的require调用。有办法吗?模拟测试文件

javascript - 实现客户端图像编辑器 - 最好的方法是什么?

我们想要一个允许用户在浏览器上编辑图像的网络应用程序,我们正在尝试决定使用哪种技术。我们希望支持简单的图像自定义,例如高质量的调整大小、裁剪、图像合并和颜色转换,以及添加具有不同字体和颜色的文本元素。当前的选项是:Flash:不用担心跨浏览器的兼容性;可以在客户端和服务器上使用相同的图像库;不支持iPhone/iPad。Java(使用GWT编译为javascript):需要找到一个良好的纯Java图像库,以便将其编译为JS。普通的旧javascript+HTML5:由于多个浏览器,可能会一团糟;可能需要从头开始编写图像编辑代码。以下是对我们来说最重要的/选择标准:图像一致性:客户端在浏

javascript - Babel 的有趣导入

因为我知道目前没有浏览器实现ES6模块接口(interface)——但转译器实现了——我用这个简单的例子测试了babelimport{getUsefulContents}from"file.js";getUsefulContents("http://www.example.com",data=>{doSomethingUseful(data);});我只是想看看它是如何转换这些行的。令我惊讶的是,它产生了以下输出:"usestrict";var_fileJs=require("file.js");(0,_fileJs.getUsefulContents)("http://www.exa

javascript - React 导入前的 '@' 是什么意思?

这个问题在这里已经有了答案:Whatisthemeaningofthe"at"(@)prefixonnpmpackages?(4个答案)关闭4年前。我将在React中看到如下所示的导入:import{object}from'@library/component'@指的是什么,这是什么类型的导入?谢谢!

javascript - 与 React 的默认导入混淆

要导入React,我们编写importReactfrom'react'。但这是默认导出权吗?因此,如果我将其名称更改为React以外的名称,它也应该可以工作。但它不起作用。谁能解释一下为什么? 最佳答案 本质上,JSX编译器(如Babel/TypeScript)将JSX代码转换为纯JavaScript。例如,下面的JSX代码:constElement=()=>(Heythere);编译成:constElement=()=>(React.createElement("div",null,"Heythere"));现在是可以被浏览器解析

javascript - 如何实现 *object* 以改进我的时钟示例 javascript 程序

这项工作的目标是理解和玩弄我听说过的一些对象概念的意义。关于赏金有很多不同的方式/方法可以做到这一点。我的tries不是很干净:为了添加第二个时钟和另一个时区,我必须编辑3个不同的地方。这不太好(见答案底部)。我怎样才能做些更有用的事情?开头:后期编辑:最初的问题是关于在jquery和mootools之间进行选择,现在已经做出选择;我们的目标是通过使用mootools来改善这一点。我写了一个小示例/演示来玩javascript和svg:varcx=128;varcy=128;varslen=120;varmlen=116;varhlen=80;varselem;varmelem;var

javascript - JavaScript 中的不可变哈希和数组实现?

javascript中是否有简单的不可变哈希和数组实现?我不需要最好的速度,比克隆更好的合理速度就可以了。另外,如果有简单的Java或一些其他语言的实现可以容易理解并移植到JavaScript,那也很好。更新:目标不仅仅是卡住散列(或数组),而是高效地实现更新操作——不可变散列的更新应该返回一个新的不可变散列。而且它应该比“克隆原始文件并更新它”更有效。原生JS类型的更新复杂度为O(1),克隆复杂度为O(n),特殊不可变数据结构(我要求的)为0(log(n))UPDATE2:JavaScript已经有了Array/Hash:是的,但它们是可变的,我需要类似但不可变的东西,基本上可以通过

javascript - 导出/导入语句中使用和不使用大括号符号有什么区别?

我是ES6的新手,对类的导出和导入方式有点困惑。似乎许多不同的符号都是有效的,但工作方式不同。我在src/web-api.js中写了一个这样的类:classWebApi{//...}export{WebApi};我导入的是:import{WebApi}from'./src/web-api.js'这工作正常,但在我尝试没有花括号的同样的事情之前它没有工作:exportWebApi;//Tellsme'{'expectedimportWebApifrom'./src/web-api.js';//NosyntaxerrorbutWebApiisundefined即使在MDNdocumenta

javascript - webpack 2 预期 '!' 错误与导入一起使用

我想使用这个svg加载器,https://github.com/jhamlet/svg-react-loader在说明中我遵循了用法,比如importLogofrom'svg-react-loader?name=Logo!../images/logo.svg';但是我得到了错误Line3:Unexpected'!'in'svg-react-loader?name=Logo!../images/logo.svg'.Donotuseimportsyntaxtoconfigurewebpackloadersimport/no-webpack-loader-syntax

javascript - 将现有的 JavaScript 项目导入 Grunt/Brunch 项目

我观看了PaulIrish宣布Yeoman(www.yeoman.io)的演讲,并且我对运行连续构建环境的概念非常着迷。不满足于等待Yeoman邀请,我尝试了Grunt和Brunch。两者都可以轻松安装,而且我可以轻松启动并运行新项目。我不明白如何将现有项目迁移到任一平台。我的项目使用单个命名空间并为模块使用两个约定(一个用于实例化另一个用于实用程序),每个约定都包含在导出到实例或命名空间的自执行匿名函数中。我至少有200个模块和更多简单的辅助函数导出到命名空间;因此,使用控制台在grunt/brunch项目中创建这些,然后单独手动导入每个模块,效率并不高。此外,我使用了至少15种不同